home *** CD-ROM | disk | FTP | other *** search
/ Java Programmer's Toolkit / Java Programmer's Toolkit.iso / applets / plot2d / g2d3.jav < prev    next >
Encoding:
Text File  |  1996-01-11  |  4.0 KB  |  148 lines

  1. import java.awt.*;
  2. import java.applet.*;
  3. import java.net.URL;
  4.  
  5. public class g2d3 extends Applet {
  6.  
  7.       Graph2D graph;
  8.       DataSet data1;
  9.       DataSet data2;
  10.       Axis    xaxis;
  11.       Axis    yaxis;
  12.       double data[];
  13.       int np = 100;
  14.       URL markers;
  15.       Panel range;
  16.       TextField xmin;
  17.       TextField xmax;
  18.       TextField ymin;
  19.       TextField ymax;
  20.  
  21.  
  22.  
  23.  
  24.       public void init() {
  25.         int i;
  26.         int j;
  27.         double data[] = new double[2*np];
  28.         Panel p = new Panel();
  29.         
  30.  
  31.         graph = new Graph2D();
  32.         range = new Panel();
  33.         range.setLayout( new GridLayout(5,2,0,5) );
  34.  
  35.         range.add(new Label("Xmin"));
  36.         xmin = new TextField(8);
  37.         range.add(xmin);
  38.  
  39.         range.add(new Label("Xmax"));
  40.         xmax = new TextField(8);
  41.         range.add(xmax);
  42.  
  43.         range.add(new Label("Ymin"));
  44.         ymin = new TextField(8);
  45.         range.add(ymin);
  46.  
  47.         range.add(new Label("Ymax"));
  48.         ymax = new TextField(8);
  49.         range.add(ymax);
  50.  
  51.         range.add(new Button("Redraw"));
  52.         p.add(range);
  53.  
  54.  
  55.         setLayout( new BorderLayout() );
  56.         add("East", p);
  57.         add("Center", graph);
  58.         try {
  59.            markers = new URL(getDocumentBase(),"marker.txt");
  60.         } catch(Exception e) {
  61.            System.out.println("Failed to create Marker URL!");
  62.         }
  63.         if( !graph.loadMarkerFile(markers) ) {
  64.            System.out.println("Failed to load Marker file!");
  65.         }
  66.  
  67.  
  68.         for(i=j=0; i<np; i++,j+=2) {
  69.             data[j] = j-np;
  70.             data[j+1] = 60000 * Math.pow( ((double)data[j]/(np-2) ), 2);
  71.         }
  72.  
  73.         data1 = graph.loadDataSet(data,np);
  74.         data1.linestyle = 0;
  75.         data1.marker    = 1;
  76.         data1.markerscale = 1.5;
  77.         data1.markercolor = new Color(0,0,255);
  78.         data1.dataLegend(200,20,"Data1");
  79.  
  80.         for(i=j=0; i<np; i++,j+=2) {
  81.             data[j] = j-np;
  82.             data[j+1] = 60000 * Math.pow( ((double)data[j]/(np-2) ), 3);
  83.         }
  84.  
  85.         data2 = graph.loadDataSet(data, np);
  86.         data2.linecolor   =  new Color(0,255,0);
  87.         data2.marker      = 3;
  88.         data2.markercolor = new Color(100,100,255);
  89.         data2.dataLegend(200, 30,"Data2");
  90.  
  91.         xaxis = graph.createAxis(Axis.BOTTOM);
  92.         xaxis.attachDataSet(data1);
  93.         xaxis.attachDataSet(data2);
  94.         xaxis.title = new String("Xaxis");
  95. //        xaxis.title_color = Color.red;
  96. //        xaxis.label_color = Color.red;
  97.  
  98.  
  99.         yaxis = graph.createAxis(Axis.LEFT);
  100.         yaxis.attachDataSet(data1);
  101.         yaxis.attachDataSet(data2);
  102.         yaxis.title = new String("Yaxis");
  103. //        yaxis.title_color = Color.green; 
  104. //        yaxis.label_color = Color.green;
  105.  
  106.       }
  107.  
  108.       public void paint(Graphics g) {
  109.            graph.paint(g);
  110.       }
  111.  
  112.  
  113.       public boolean action(Event ev, Object arg) {
  114.            if ("Redraw".equals(arg)) {
  115.               
  116.  
  117.               if( xmin.getText() != null ) {
  118.                   try {
  119.                      xaxis.minimum = 
  120.                      Double.valueOf(xmin.getText()).doubleValue();
  121.                   } catch(Exception e) { }
  122.               }
  123.               if( xmax.getText() != null ) {
  124.                   try {
  125.                      xaxis.maximum = 
  126.                      Double.valueOf(xmax.getText()).doubleValue();
  127.                   } catch(Exception e) { }
  128.               }
  129.               if( ymin.getText() != null ) {
  130.                   try {
  131.                      yaxis.minimum = 
  132.                      Double.valueOf(ymin.getText()).doubleValue();
  133.                   } catch(Exception e) { }
  134.               }
  135.               if( ymax.getText() != null ) {
  136.                   try {
  137.                      yaxis.maximum = 
  138.                      Double.valueOf(ymax.getText()).doubleValue();
  139.                   } catch(Exception e) { }
  140.               }
  141.  
  142.               graph.repaint();
  143.               return true;
  144.            } 
  145.            return false;
  146.       }
  147.  
  148. }